package com.qingcloud.api.dcengine.service;

import com.qingcloud.api.dcengine.dto.TablePageDTO;
import com.qingcloud.api.dcengine.dto.discharge.CommonDischargeDensity;
import com.qingcloud.api.dcengine.model.discharge.DischargeDensityListParam;
import com.qingcloud.api.dcengine.model.discharge.DischargeDensityPageParam;
import com.qingcloud.api.dcengine.service.factory.DischargeFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

@FeignClient(contextId = "dischargeApi", path = "dcengine", value = "weatherdcengine", fallbackFactory = DischargeFallbackFactory.class)
public interface DischargeApi {

    /**
     * 废气小时数据
     * 小时请求参数时间格式:yyyy-MM-dd HH
     */
    @PostMapping("/discharge/gas/hour/list")
    List<CommonDischargeDensity> gasHourList(@RequestBody DischargeDensityListParam param);

    /**
     * 废气小时数据 分页
     * 小时请求参数时间格式:yyyy-MM-dd HH
     */
    @PostMapping("/discharge/gas/hour/page")
    TablePageDTO<CommonDischargeDensity> gasHourPage(@RequestBody DischargeDensityPageParam param);

    /**
     * 废气天数据
     * 天请求参数时间格式:yyyy-MM-dd
     */
    @PostMapping("/discharge/gas/day/list")
    List<CommonDischargeDensity> gasDayList(@RequestBody DischargeDensityListParam param);

    /**
     * 废气天数据 分页
     * 天数据请求参数时间格式:yyyy-MM-dd HH
     */
    @PostMapping("/discharge/gas/day/page")
    TablePageDTO<CommonDischargeDensity> gasDayPage(@RequestBody DischargeDensityPageParam param);

    /**
     * 废水小时数据列表
     * 小时请求参数时间格式:yyyy-MM-dd HH
     */
    @PostMapping("/discharge/water/hour/list")
    List<CommonDischargeDensity> waterHourList(@RequestBody DischargeDensityListParam param);

    /**
     * 废水小时数据列表
     * 分页查询
     * 小时请求参数时间格式:yyyy-MM-dd HH
     */
    @PostMapping("/discharge/water/hour/page")
    TablePageDTO<CommonDischargeDensity> waterHourPage(@RequestBody DischargeDensityPageParam param);


    /**
     * 废水 天数据列表
     * 天请求参数时间格式:yyyy-MM-dd
     */
    @PostMapping("/discharge/water/day/list")
    List<CommonDischargeDensity> waterDayList(@RequestBody DischargeDensityListParam param);

    /**
     * 废水 天数据列表
     * 分页查询
     * 天请求参数时间格式:yyyy-MM-dd
     */
    @PostMapping("/discharge/water/day/page")
    TablePageDTO<CommonDischargeDensity> waterDayPage(@RequestBody DischargeDensityPageParam param);

}
